Page({
  /**
   * 页面的初始数据
   */
  data: {
    imageList: "/pages/data/add.jpg"  // 默认图片路径
  },

  /**
   * 生命周期函数 - 页面加载时触发
   */
  onLoad(options) {},

  /**
   * 上传图片功能
   */
  uploadImage: function () {
    var that = this;
    wx.chooseImage({  // 调用微信小程序接口选择图片
      count: 1,  // 限制选择一张图片
      sizeType: ['original', 'compressed'],  // 支持原始和压缩格式
      sourceType: ['album', 'camera'],  // 支持从相册或相机选择
      success: function (res) {
        that.setData({
          imageList: res.tempFilePaths[0]  // 更新图片路径到 data 中
        });
        console.log("已选择图片：", res.tempFilePaths[0]);
      },
      fail: function (res) {
        console.log("选择图片失败：", res);
      }
    });
  },

  /**
   * 发送请求到后端并获取处理结果
   */
  request: function () {
    var that = this;
    wx.uploadFile({  // 上传图片到后端
      url: 'https://5233-116-132-2-2.ngrok-free.app/request',  // 后端上传接口（替换为实际 ngrok 地址）
      filePath: that.data.imageList,  // 要上传的图片路径
      name: 'img',  // 后端接收的文件字段名
      success(res) {
        console.log("上传成功，返回数据：", res);
        if (res.data === '成功') {
          // 上传成功后，请求处理后的图片
          wx.downloadFile({
            url: 'https://5233-116-132-2-2.ngrok-free.app/get',  // 后端下载接口
            header: {
              'ngrok-skip-browser-warning': 'true'  // 绕过 ngrok 警告页面
            },
            success(res) {
              console.log("下载成功，状态码：", res.statusCode);
              console.log("下载结果：", res);
              if (res.statusCode === 200) {
                // 检查文件是否为图片
                if (res.tempFilePath.endsWith('.jpg') || res.tempFilePath.endsWith('.png') || res.tempFilePath.endsWith('.jpeg')) {
                  that.setData({
                    imageList: res.tempFilePath  // 更新界面显示处理后的图片
                  });
                  console.log("图片已更新：", res.tempFilePath);
                } else {
                  console.log("返回的文件不是图片：", res.tempFilePath);
                  // 读取文件内容以调试
                  wx.getFileSystemManager().readFile({
                    filePath: res.tempFilePath,
                    encoding: 'utf8',
                    success: (fileRes) => {
                      console.log("文件内容：", fileRes.data);  // 如果是 HTML，这里会显示
                    }
                  });
                  wx.showToast({
                    title: '返回的不是图片文件',
                    icon: 'none'
                  });
                }
              } else {
                console.log("下载状态码异常：", res.statusCode);
              }
            },
            fail(res) {
              console.log("下载失败：", res);
            }
          });
        } else {
          console.log("后端返回异常：", res.data);
        }
      },
      fail(res) {
        console.log("上传失败：", res);
      }
    });
  }
});